var obj = {
  name: "why",
  age: 18,
  _address: "北京市"
}

// 存取属性描述符
// 1. 隐藏某一个私有属性希望被外界使用和赋值
// 2. 如果我们希望截获某一个属性它访问和设置值的过程时，也会使用存取属性描述符（vue2响应式原理）
Object.defineProperty(obj, "address", {
  configurable: true,
  enumerable: true,
  get: function() {
    return this._address
  },
  set: function(val) {
    this._address = val
  }
})

console.log(obj.address);